electronic licensing development java software development digital rights management dvd copyright dongle java content java tools copy protection object oriented software development encryption drm databases